n,m=list(map(int,input().split()))
s=[i+1 for i in range(n)]
l=[]
for i in range(m):
    tmp=list(map(int,input().split()))
    l.append(tmp)
# print(l)
for i in range(m):
    if(l[i][0]==0):
        tmp=l[i][1]
        s1=sorted(s[0:tmp],reverse=True)+s[tmp:]
        s=s1
    elif(l[i][0]==1):
        tmp=l[i][1]
        s1=s[:tmp-1]+sorted(s[tmp-1:])
        s=s1
for i in range(len(s)):
    print(s[i],end=' ')

# 1.第一条语句在从用户那里获取两个空格分隔的输入后，将值分配给变量 n 和 m。
# 2.第二条语句创建一个从 1 到 n 的数字列表。
# 3.初始化空列表 l。
# 4.在下面的循环中，将两个空格分隔的值作为输入并添加到列表 l 中。
# 5.在下一个循环中，如果 l 中元素的第一个值为 0，则列表中的元素从 0 到索引等于 l 元素中的第二个值的元素，因为列表 l 是反转的。
# 6.如果 l 中元素的第一个值为 1，则列表中的元素从 0 到索引等于 l 元素中的第二个值的元素，因为列表 l 已排序。
# 7.在最后一个循环中，列表中的元素在每个元素之间打印一个空格。